

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
<script type="text/javascript" src="helpman_topicinit.js"></script>

<title>Code Engineering [Enterprise Architect User Guide]</title>

<meta name="keywords" content="Enterprise Architect, Sparx Systems, UML, Code Engineering,Code Engineering With Enterprise Architect,Code Engineering Broad View Of, In Enterprise Architect,Enterprise Architect,Enterprise Architect Code Engineering With,SOA,SOA Implementing XML-Based, In Enterprise Architect,SOA Development,Service Oriented Architecture,Service Oriented Architecture Implementing XML-Based, In Enterprise Architect,Service Oriented Architecture Development">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<meta http-equiv="Content-Style-Type" content="text/css" />

<link type="text/css" href="default.css" rel="stylesheet" />
<style type="text/css">
  A, A:Visited
  {
    color: #00F;
  }

  A:Active, A:Hover
  {
    color: #F00;
  }

  OL
  {
    margin: 5px 0 5px 48px;
  }

  UL
  {
    margin-bottom: 3px;
    margin-top: 0;
  }

  #nsr
  {
    background-color: #D4DFFF;
  }

  #nsr A
  {
    text-decoration: none;
  }

  #mainbody
  {
    padding: 8px;
  }

  .p_BodyText
  {
    padding: 5px 0;
  }
</style>



<style type="text/css" media="screen">
  BODY
  {
    background-color: #FFFFFF;
  }

  #nsr
  {
    padding: 6px 6px 0 6px;
    border-bottom: none;
    vertical-align: top;
    z-index: 2;
    visibility: visible;
    left: 0;
    top: 0;
    position: absolute;
  }

  #mainbody
  {
    left: 0;
    top: 0;
    margin: 0;
    position: absolute;
    padding: 10px;
    overflow: auto;
    height: 100%;
    z-index: 1;
    background-repeat: no-repeat;
    background-position: bottom right;
    background-attachment: fixed;
  }
</style>

<style type="text/css" media="print">
  #nsr
  {
    visibility: none;
  }

  #mainbody
  {
    overflow: visible;
  }
</style>
<script type="text/javascript" language="JavaScript" src="nonscroll.js"></script>

</head>
<body scroll="no">

<div id="page">



        <div id="content">
          <div id="content-inner">
          



  
          <div id="nsr">
            <table border="0" cellspacing="0" cellpadding="4" width="100%">
              <tr valign="top">
                <td align="left">
  


                  <p class="p_Heading1"><span class="f_Heading1">Code Engineering</span></p>



  
                </td>
                <td align="right">
                  <a href="introduction.htm" onmouseover="document.images.main.src='button_main_h.gif'" onmouseout="document.images.main.src='button_main.gif'">
                    <img name="main" src="button_main.gif" border=0 alt="Return to Introduction">
                  </a>&nbsp;
    
                  <a href="managing_models.htm" onmouseover="document.images.prev.src='button_prev_h.gif'" onmouseout="document.images.prev.src='button_prev.gif'">
                    <img name=prev src="button_prev.gif" border=0 alt="Previous page" />
                  </a>&nbsp;
    
    
    
                  <a href="quick_start.htm" onmouseover="document.images.next.src='button_next_h.gif'" onmouseout="document.images.next.src='button_next.gif'">
                    <img name=next src="button_next.gif" border=0 alt="Next page" />
                  </a>
    
    
                </td>
              </tr>
            </table>
          </div>
          <div id="mainbody">
  


                <p class="p_BodyText"><span class="f_BodyText">Code Engineering with Enterprise Architect broadly encompasses various processes for generating or transforming code from your UML model and importing code into the model, to support model development in several coding languages, database development and SOA development.</span></p>
<p class="p_SubHeadingL1"><span class="f_SubHeadingL1">Code Engineering</span></p>
<p class="p_BodyText"><span class="f_BodyText">Enterprise Architect supports:</span></p>
<ul style="text-indent: 0px; margin-left: 30px; list-style-position: outside;">
<li><span class="f_Bulletlist1" style="font-weight: bold;">Source code generation</span><span class="f_Bulletlist1"> and </span><span class="f_Bulletlist1" style="font-weight: bold;">reverse engineering</span><span class="f_Bulletlist1"> for many popular languages, including </span><span class="f_Bulletlist1" style="font-weight: bold;">C++, C#, Java, Delphi, VB.Net, Visual Basic, ActionScript</span><span class="f_Bulletlist1">, </span><span class="f_Bulletlist1" style="font-weight: bold;">Python</span><span class="f_Bulletlist1"> and </span><span class="f_Bulletlist1" style="font-weight: bold;">PHP</span><span class="f_Bulletlist1">.</span></li>
</ul>
<p class="p_BodyText"><span class="f_BodyText">Enterprise Architect also provides:</span></p>
<ul style="text-indent: 0px; margin-left: 30px; list-style-position: outside;">
<li><span class="f_Bulletlist1">A built in 'syntax highlighting' </span><span class="f_Bulletlist1" style="font-weight: bold;">source code editor</span></li>
<li><span class="f_Bulletlist1" style="font-weight: bold;">Code generation templates</span><span class="f_Bulletlist1">, which enable you to </span><span class="f_Bulletlist1" style="font-weight: bold;">customize</span><span class="f_Bulletlist1"> the generated source code to your company specifications.</span></li>
</ul>
<p class="p_BodyText"><span class="f_BodyText">For more information, see the </span><span class="f_BodyText" style="font-style: italic;"><a href="codeengineering.htm">Code Engineering</a> </span><span class="f_BodyText">topic.</span></p>
<p class="p_SubHeadingL1"><span class="f_SubHeadingL1">MDA Transformations</span></p>
<p class="p_BodyText"><span class="f_BodyText">Enterprise Architect provides:</span></p>
<ul style="text-indent: 0px; margin-left: 30px; list-style-position: outside;">
<li><span class="f_Bulletlist1">Advanced Model Driven Architecture </span><span class="f_Bulletlist1" style="font-weight: bold;">(MDA) transformations</span><span class="f_Bulletlist1"> using </span><span class="f_Bulletlist1" style="font-weight: bold;">transformation templates</span></li>
<li><span class="f_Bulletlist1" style="font-weight: bold;">Built-in transformations</span><span class="f_Bulletlist1"> for </span><span class="f_Bulletlist1" style="font-weight: bold;">DDL, C#, Java, EJB and XSD</span><span class="f_Bulletlist1">.</span></li>
</ul>
<p class="p_BodyText"><span class="f_BodyText">One PIM can be used to generate and synchronize </span><span class="f_BodyText" style="font-weight: bold;">multiple PSMs</span><span class="f_BodyText">, providing a </span><span class="f_BodyText" style="font-weight: bold;">significant productivity boost</span><span class="f_BodyText">.</span></p>
<p class="p_BodyText"><span class="f_BodyText">For more information, see the </span><span class="f_BodyText" style="font-style: italic;"><a href="mdastyletransforms.htm">MDA Transformations</a> </span><span class="f_BodyText">topic.</span></p>
<p class="p_SubHeadingL1"><span class="f_SubHeadingL1">Visual Execution Analysis</span></p>
<p class="p_BodyText"><span class="f_BodyText">Enterprise Architect enables you to:</span></p>
<ul style="text-indent: 0px; margin-left: 30px; list-style-position: outside;">
<li><span class="f_Bulletlist1" style="font-weight: bold;">Build, test, debug, run and execute deployment scripts</span></li>
<li><span class="f_Bulletlist1" style="font-weight: bold;">Integrate</span><span class="f_Bulletlist1"> UML development and modeling with source development and compilation</span></li>
<li><span class="f_Bulletlist1" style="font-weight: bold;">Generate</span><span class="f_Bulletlist1"> </span><span class="f_Bulletlist1" style="font-weight: bold;">NUnit</span><span class="f_Bulletlist1"> and </span><span class="f_Bulletlist1" style="font-weight: bold;">JUnit</span><span class="f_Bulletlist1"> test Classes from source Classes using </span><span class="f_Bulletlist1" style="font-weight: bold;">MDA Transformations</span></li>
<li><span class="f_Bulletlist1">Integrate the </span><span class="f_Bulletlist1" style="font-weight: bold;">test process</span><span class="f_Bulletlist1"> directly into the Enterprise Architect IDE</span></li>
<li><span class="f_Bulletlist1" style="font-weight: bold;">Debug .NET, Java </span><span class="f_Bulletlist1">and </span><span class="f_Bulletlist1" style="font-weight: bold;">Microsoft Native</span><span class="f_Bulletlist1"> (C, C++ and Visual Basic) applications.</span></li>
</ul>
<p class="p_BodyText"><span class="f_BodyText">For more information, see </span><span class="f_BodyText" style="font-style: italic;"><a href="buildandrun.htm">Visual Execution Analysis</a></span></p>
<p class="p_SubHeadingL1"><span class="f_SubHeadingL1">Database Modeling</span></p>
<p class="p_BodyText"><span class="f_BodyText">Enterprise Architect enables you to:</span></p>
<ul style="text-indent: 0px; margin-left: 30px; list-style-position: outside;">
<li><span class="f_Bulletlist1" style="font-weight: bold;">Reverse engineer</span><span class="f_Bulletlist1"> from many popular </span><span class="f_Bulletlist1" style="font-weight: bold;">DBMSs</span><span class="f_Bulletlist1">, including </span><span class="f_Bulletlist1" style="font-weight: bold;"> SQL Server, My SQL, Access</span><span class="f_Bulletlist1">, </span><span class="f_Bulletlist1" style="font-weight: bold;">PostgreSQL </span><span class="f_Bulletlist1">and</span><span class="f_Bulletlist1" style="font-weight: bold;"> Oracle 9i, 10g </span><span class="f_Bulletlist1">or</span><span class="f_Bulletlist1" style="font-weight: bold;"> 11g</span></li>
<li><span class="f_Bulletlist1" style="font-weight: bold;">Model database tables, columns, keys, foreign keys</span><span class="f_Bulletlist1"> and </span><span class="f_Bulletlist1" style="font-weight: bold;">complex relationships</span><span class="f_Bulletlist1"> using UML and an </span><span class="f_Bulletlist1" style="font-weight: bold;">inbuilt data modeling profile</span></li>
<li><span class="f_Bulletlist1" style="font-weight: bold;">Forward generate DDL scripts</span><span class="f_Bulletlist1"> to create target database structures.</span></li>
</ul>
<p class="p_BodyText"><span class="f_BodyText">For more information, see the </span><span class="f_BodyText" style="font-style: italic;"><a href="datamodelling2.htm">Data Modeling</a> </span><span class="f_BodyText">topic.</span></p>
<p class="p_SubHeadingL1"><span class="f_SubHeadingL1">XML Technology Engineering</span></p>
<p class="p_BodyText"><span class="f_BodyText">Enterprise Architect enables you to rapidly </span><span class="f_BodyText" style="font-weight: bold;">model</span><span class="f_BodyText">, </span><span class="f_BodyText" style="font-weight: bold;">forward engineer</span><span class="f_BodyText"> and </span><span class="f_BodyText" style="font-weight: bold;">reverse engineer</span><span class="f_BodyText"> two key </span><span class="f_BodyText" style="font-weight: bold;">W3C XML</span><span class="f_BodyText"> technologies:</span></p>
<ul style="text-indent: 0px; margin-left: 30px; list-style-position: outside;">
<li><span class="f_Bulletlist1" style="font-weight: bold;">XML Schema</span><span class="f_Bulletlist1"> (XSD)</span></li>
<li><span class="f_Bulletlist1" style="font-weight: bold;">Web Service Definition Language</span><span class="f_Bulletlist1"> (WSDL).</span></li>
</ul>
<p class="p_BodyText"><span class="f_BodyText">XSD and WSDL support is critical for the development of a complete </span><span class="f_BodyText" style="font-weight: bold;">Service Oriented Architecture (SOA)</span><span class="f_BodyText">, and the coupling of UML 2.1 and XML provides the natural mechanism for implementing XML-based SOA artifacts within an organization.</span></p>
<p class="p_BodyText"><span class="f_BodyText">For more information, see the </span><span class="f_BodyText" style="font-style: italic;"><a href="xml_technologies.htm">XML Technologies</a> </span><span class="f_BodyText">topic.</span></p>




            </div>
          </div>
        </div>



</div>


</body>
</html>
